<!DOCTYPE html>
<html>
<head>
            <title>Maturity-zh - Dubbo - Alibaba Open Sesame</title>
    
        

                        
    
                        
    
    
            <meta http-equiv="X-UA-Compatible" content="IE=8">
<meta charset="UTF-8">

<!-- Deprecated since 3.4. To be removed in a future version of Confluence; use AJS.Confluence.getContextPath() -->
<meta id="confluence-context-path" name="confluence-context-path" content="/wiki">
<meta name="ajs-context-path" content="/wiki">
<meta name="ajs-version-number" content="3.5.9">
<meta name="ajs-build-number" content="2166">
<meta id="atlassian-token" name="atlassian-token" content="c116db80711201b36e2067aa83f3b044c2d5a30e">
<meta id="confluence-space-key" name="confluence-space-key" content="dubbo">
<meta name="ajs-remote-user" content="">
<meta name="ajs-static-resource-url-prefix" content="/wiki/s/en/2166/34/_">

<script type="text/javascript">
    // Deprecated global variables. To be removed in a future version of Confluence.
    var contextPath = '/wiki';
</script>

    

<!-- include system css resources -->
<link type="text/css" rel="stylesheet" href="batch.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/26/_/download/superbatch/css/batch.css" media="all">
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="batch.css-ieonly=true.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/26/_/download/superbatch/css/batch.css?ieonly=true" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="batch.css-media=print.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/26/_/download/superbatch/css/batch.css?media=print" media="print">
<link type="text/css" rel="stylesheet" href="confluence-forms.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/resources/confluence.web.resources:aui-forms/confluence-forms.css" media="all">
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="confluence.web.resources-aui-forms.css-ieonly=true.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:aui-forms/confluence.web.resources:aui-forms.css?ieonly=true" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.plugins.share-page-mail-page-resources.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.8/_/download/batch/com.atlassian.confluence.plugins.share-page:mail-page-resources/com.atlassian.confluence.plugins.share-page:mail-page-resources.css" media="all">
<link type="text/css" rel="stylesheet" href="confluence.web.resources-view-comment.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:view-comment/confluence.web.resources:view-comment.css" media="all">
<!--[if IE]>
<link type="text/css" rel="stylesheet" href="confluence.web.resources-view-comment.css-ieonly=true.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/confluence.web.resources:view-comment/confluence.web.resources:view-comment.css?ieonly=true" media="all">
<![endif]-->
<link type="text/css" rel="stylesheet" href="confluence.macros.advanced-fancy-box.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.16/_/download/batch/confluence.macros.advanced:fancy-box/confluence.macros.advanced:fancy-box.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.plugins.drag-and-drop-support.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0.16/_/download/batch/com.atlassian.confluence.plugins.drag-and-drop:support/com.atlassian.confluence.plugins.drag-and-drop:support.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.plugins.shortcuts.atlassian-shortcuts-module-shortcuts.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/0.8/_/download/batch/com.atlassian.plugins.shortcuts.atlassian-shortcuts-module:shortcuts/com.atlassian.plugins.shortcuts.atlassian-shortcuts-module:shortcuts.css" media="all">
<link type="text/css" rel="stylesheet" href="com.atlassian.confluence.keyboardshortcuts-confluence-keyboard-shortcuts.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts/com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts.css" media="all">

<!-- end system css resources -->

    <link rel="stylesheet" href="combined.css-spaceKey=dubbo.css" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3/_/styles/combined.css?spaceKey=dubbo" type="text/css">

    <meta name="confluence-request-time" content="1392025698820">

<meta name="loggedInUsername" content="">
            <meta name="ajs-keyboardshortcut-hash" content="bf02a79603372a43d395a0a429bdf66">
    <!-- Deprecated since 3.4. To be removed in a future version of Confluence; use atl.header -->
            <script type="text/x-template" title="share-content-popup">
    <form action="#" method="post" class="aui share-content-popup">
        <fieldset>
            <label for="users">User name or email</label>
            <div class="autocomplete-user-target">
                <input class="text autocomplete-sharepage" id="users" data-max="10" data-dropdown-target=".autocomplete-user-target" data-none-message="No matching user or email found"/>
            </div>
            <ol class="recipients">
            </ol>
            <div><label for="note">Note</label></div>
            <textarea class="textarea" id="note" placeholder="Add an optional note"/>
        </fieldset>
        <div class="button-panel">
            <div class="progress-messages-icon"></div>
            <div class="progress-messages">
            </div>
            <input class="button submit" type="submit" value="Share" disabled/>
            <a class="close-dialog" href="#">Cancel</a>
        </div>
    </form>
</script>

<script type="text/x-template" title="share-content-popup-recipient-username">
    <li data-username="{username}" style="display: none">
        <span>
            <img src="{thumbnailLink.href}" title="{title}">
            <span>{title}</span>
            <span class="remove-recipient"/>
        </span>
    </li>
</script>

<script type="text/x-template" title="share-content-popup-recipient-email">
    <li data-email="{email}" style="display: none">
        <span>
            <img src="{icon}" title="{email}">
            <span>{email}</span>
            <span class="remove-recipient"/>
        </span>
    </li>
</script>
            <meta name="ajs-use-keyboard-shortcuts" content="true">
    
    <link rel="shortcut icon" href="/wiki/favicon.ico">
    <link rel="icon" type="image/png" href="/wiki/s/en/2166/34/_/images/logo/confluence_16.png">

<link rel="search" type="application/opensearchdescription+xml" href="/wiki/opensearch/osd.action" title="Alibaba Open Sesame"/>

        <!-- include system javascript resources -->
                        
    
    <script type="text/javascript" src="batch.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/26/_/download/superbatch/js/batch.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.share-page-mail-page-resources.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.8/_/download/batch/com.atlassian.confluence.plugins.share-page:mail-page-resources/com.atlassian.confluence.plugins.share-page:mail-page-resources.js" ></script>
<script type="text/javascript" src="confluence.macros.advanced-fancy-box.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.16/_/download/batch/confluence.macros.advanced:fancy-box/confluence.macros.advanced:fancy-box.js" ></script>
<script type="text/javascript" src="confluence.macros.advanced-thumbnail-images.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.16/_/download/batch/confluence.macros.advanced:thumbnail-images/confluence.macros.advanced:thumbnail-images.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.drag-and-drop-support.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0.16/_/download/batch/com.atlassian.confluence.plugins.drag-and-drop:support/com.atlassian.confluence.plugins.drag-and-drop:support.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.drag-and-drop-drag-and-drop-for-view-content.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0.16/_/download/batch/com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-view-content/com.atlassian.confluence.plugins.drag-and-drop:drag-and-drop-for-view-content.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.plugins.doctheme-splitter.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.9/_/download/batch/com.atlassian.confluence.plugins.doctheme:splitter/com.atlassian.confluence.plugins.doctheme:splitter.js" ></script>
<script type="text/javascript" src="com.atlassian.plugins.shortcuts.atlassian-shortcuts-module-shortcuts.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/0.8/_/download/batch/com.atlassian.plugins.shortcuts.atlassian-shortcuts-module:shortcuts/com.atlassian.plugins.shortcuts.atlassian-shortcuts-module:shortcuts.js" ></script>
<script type="text/javascript" src="com.atlassian.confluence.keyboardshortcuts-confluence-keyboard-shortcuts.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/3.5.9/_/download/batch/com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts/com.atlassian.confluence.keyboardshortcuts:confluence-keyboard-shortcuts.js" ></script>
<script type="text/javascript" src="legacy.confluence.web.resources-prototype.js" tppabs="http://10.20.160.198/wiki/s/en/2166/34/1.0/_/download/batch/legacy.confluence.web.resources:prototype/legacy.confluence.web.resources:prototype.js" ></script>

    
    <!-- end system javascript resources -->

    

    
    <link rel="canonical" href="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh">
    <link rel="shortlink" href="http://code.alibabatech.com/wiki/x/NA5q">
    <meta name="wikilink" content="[dubbo:Maturity-zh]">
    <meta name="page-version" content="31">

</head>
    
<body             onload="placeFocus()"
     id="com-atlassian-confluence" class="theme-default ">
<ul id="assistive-skip-links" class="assistive">
    <li><a href="#title-heading">Skip to content</a></li>
    <li><a href="#breadcrumbs">Skip to breadcrumbs</a></li>
    <li><a href="#header-menu-bar">Skip to header menu</a></li>
    <li><a href="#navigation">Skip to action menu</a></li>
    <li><a href="#quick-search-query">Skip to quick search</a></li>
</ul>
<div id="page">
<div id="full-height-container">



<fieldset class="hidden parameters">
    <input type="hidden" id="shortcutDialogTip" value="Shortcut tip: Pressing <b>{shortcut}</b> also opens this dialog box">
        <input type="hidden" title="i18n.close.name" value="Close">
        <input type="hidden" title="i18n.cancel.name" value="Cancel">
</fieldset><fieldset class="hidden parameters">
    <input type="hidden" id="statusDialogHeading" value="What are you working on?">
    <input type="hidden" id="statusDialogAccessibilityLabel" value="Enter your status (140 character limit)">
    <input type="hidden" id="statusDialogLatestLabel" value="Last update:">
    <input type="hidden" id="statusDialogUpdateButtonLabel" value="Update">
    <input type="hidden" id="statusDialogCancelButtonLabel" value="Cancel">
</fieldset>

<fieldset class="hidden parameters">
    <input type="hidden" id="globalSettingsAttachmentMaxSize" value="10485760">
    <input type="hidden" id="userLocale" value="en_GB">
    <input type="hidden" id="staticResourceUrlPrefix" value="/wiki/s/en/2166/34/_">
    <input type="hidden" id="contextPath" value="/wiki">
</fieldset>

    
<div id="header" class="" style="display: none">
        <form id="quick-search" class="quick-search" method="get" action="http://10.20.160.198/wiki/dosearchsite.action">
        <fieldset>
            <label class="assistive" for="quick-search-query">Quick Search</label>
            <input class="quick-search-query" id="quick-search-query" type="text" accessKey="q" autocomplete="off" name="queryString" size="25" title="Quick Search" />
            <input class="quick-search-submit" id="quick-search-submit" type="submit" value="Search" />
            <div class="aui-dd-parent quick-nav-drop-down"><!-- Quick nav appears here --></div>
        </fieldset>
        <fieldset class="hidden parameters">
            <input type="hidden" id="quickNavEnabled" value="true" />
                    </fieldset>
    </form>
    <ul id="header-menu-bar" class="ajs-menu-bar">
                    
        
            <li class="normal ajs-menu-item">
        <a id="browse-menu-link" class="browse trigger ajs-menu-title" href="#"><span><span>Browse</span></span></a>         <div class="assistive ajs-drop-down">
                        <ul  id="browse-menu-link-leading"                 class="section-leading first">
                                        <li>
    
        
    
    <a  id="space-pages-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/listpages.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/listpages.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/pages/listpages.action?key=dubbo"  class=""   title="Browse pages in the Dubbo space">
                   <span>Pages</span></a>        </li>
                                        <li>
    
        
    
    <a  id="space-blogposts-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewrecentblogposts.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewrecentblogposts.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/pages/viewrecentblogposts.action?key=dubbo"  class=""   title="Browse blogs in the Dubbo space">
                   <span>Blog</span></a>        </li>
                                        <li>
    
        
    
    <a  id="space-labels-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/labels/listlabels-heatmap.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/labels/listlabels-heatmap.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/labels/listlabels-heatmap.action?key=dubbo"  class=""   title="Browse labels in the Dubbo space">
                   <span>Labels</span></a>        </li>
                                        <li>
    
        
    
    <a  id="space-attachments-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/spaces/listattachmentsforspace.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spaces/listattachmentsforspace.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/spaces/listattachmentsforspace.action?key=dubbo"  class=""   title="Browse attachments in the Dubbo space">
                   <span>Attachments</span></a>        </li>
                                        <li>
    
        
    
    <a  id="space-mail-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/spaces/viewmailarchive.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spaces/viewmailarchive.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/spaces/viewmailarchive.action?key=dubbo"  class=""   title="Browse mail in the Dubbo space">
                   <span>Mail</span></a>        </li>
                                        <li>
    
        
    
    <a  id="space-advanced-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/spaces/viewspacesummary.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spaces/viewspacesummary.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/spaces/viewspacesummary.action?key=dubbo"  class=""   title="Browse additional space functions in the Dubbo space">
                   <span>Advanced</span></a>        </li>
                                        <li>
    
        
    
    <a  href="javascript:if(confirm(%27http://10.20.160.198/wiki/spaces/usage/report.action?key=dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spaces/usage/report.action?key=dubbo%27" tppabs="http://10.20.160.198/wiki/spaces/usage/report.action?key=dubbo"  class=""   title="">
                   <span>Activity</span></a>        </li>
                            </ul>
                        <ul  id="browse-menu-link-global"                 class="section-global">
                                        <li>
    
        
    
    <a  id="whats-new-menu-link" href="javascript:if(confirm(%27http://docs.atlassian.com/confluence/docs-35/whatsnew/iframe  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://docs.atlassian.com/confluence/docs-35/whatsnew/iframe%27" tppabs="http://docs.atlassian.com/confluence/docs-35/whatsnew/iframe"  class=""   title="">
                   <span>What’s New</span></a>        </li>
                                        <li>
    
        
    
    <a  id="people-directory-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/peopledirectory.action  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/peopledirectory.action%27" tppabs="http://10.20.160.198/wiki/peopledirectory.action"  class=""   title="Browse the Confluence people directory">
                   <span>People Directory</span></a>        </li>
                                        <li>
    
        
    
    <a  id="space-directory-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/spacedirectory/view.action  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/spacedirectory/view.action%27" tppabs="http://10.20.160.198/wiki/spacedirectory/view.action"  class=""   title="Browse the Confluence space directory">
                   <span>Space Directory</span></a>        </li>
                                        <li>
    
        
    
    <a  id="keyboard-shortcuts-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki%27" tppabs="http://10.20.160.198/wiki"  class=""   title="View available keyboard shortcuts">
                   <span>Keyboard Shortcuts</span></a>        </li>
                                        <li>
    
        
    
    <a  id="gadget-directory-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki%27" tppabs="http://10.20.160.198/wiki"  class="user-item administration-link"   title="Browse gadgets provided by Confluence">
                   <span>Confluence Gadgets</span></a>        </li>
                            </ul>
                    </div>
    </li>
        
                                                         <li class="ajs-menu-item normal">
        
        
    
    <a  id="login-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/login.action?os_destination=%2Fdisplay%2Fdubbo%2FMaturity-zh%3FfocusedCommentId%3D7673915  \n\nThis file was not retrieved by Teleport Ultra, because it is linked too far away from its Starting Address. If you increase the in-domain depth setting for the Starting Address, this file will be queued for retrieval.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/login.action?os_destination=%2Fdisplay%2Fdubbo%2FMaturity-zh%3FfocusedCommentId%3D7673915%27" tppabs="http://10.20.160.198/wiki/login.action?os_destination=%2Fdisplay%2Fdubbo%2FMaturity-zh%3FfocusedCommentId%3D7673915"  class="user-item login-link"   title="">
                   <span>Log In</span></a>        </li>
                            </ul>
    
    
    <ol id="breadcrumbs">
                    
                        
        <li class="first" >
                                            <span><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/dashboard.action  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/dashboard.action%27" tppabs="http://10.20.160.198/wiki/dashboard.action" title="Go to Dashboard">Dashboard</a></span>
                </li>
                    
                
        <li>
                                            <span><a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/dubbo%27" tppabs="http://10.20.160.198/wiki/display/dubbo">Dubbo</a></span>
                </li>
                                        <li id="ellipsis" title="Show all breadcrumbs"><span><strong>&#8230;</strong></span></li>
                                    
                
        <li class="hidden-crumb" >
                                            <span><a href="Home-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Home-zh">Home-zh</a></span>
                </li>
                    
                
        <li>
                                            <span><a href="User+Guide-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/User+Guide-zh">User Guide-zh</a></span>
                </li>
                    
                
        <li>
                                            <span>Maturity-zh</span>
                </li>
        </ol>

</div><!-- \#header -->

<div id="main" >
    
    
    <div id="navigation" class="content-navigation view" style="display: none">
        <fieldset class="hidden parameters">
            <input type="hidden" id="pageId" value="6950452">
        </fieldset>
        <ul class="ajs-menu-bar">
                                
            <li class="normal ajs-menu-item">
        <a id="add-menu-link" class="add trigger ajs-menu-title" href="#"><span><span>Add</span></span></a>         <div class="assistive ajs-drop-down">
                        <ul  id="add-menu-link-page"                 class="section-page first">
                                        <li>
    
        
    
    <a  id="add-comment-menu-link" href="Maturity-zh-showComments=true&showCommentArea=true.htm#addcomment" tppabs="http://10.20.160.198/wiki/display/dubbo/Maturity-zh?showComments=true&showCommentArea=true#addcomment"  class="add-comment"   title="Add a Comment">
                   <span>Comment</span></a>        </li>
                            </ul>
                    </div>
    </li>
                    
            <li class="normal ajs-menu-item">
        <a id="action-menu-link" class="action trigger ajs-menu-title" href="#"><span><span>Tools</span></span></a>         <div class="assistive ajs-drop-down">
                        <ul  id="action-menu-link-primary"                 class="section-primary first">
                                        <li>
    
        
    
    <a  id="view-attachments-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6950452  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6950452%27" tppabs="http://10.20.160.198/wiki/pages/viewpageattachments.action?pageId=6950452"  class="action-view-attachments"  accessKey="a"  title="View Attachments">
                   <span><u>A</u>ttachments (0)</span></a>        </li>
                                        <li>
    
        
    
    <a  id="action-view-history-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewpreviousversions.action?pageId=6950452  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewpreviousversions.action?pageId=6950452%27" tppabs="http://10.20.160.198/wiki/pages/viewpreviousversions.action?pageId=6950452"  class="action-view-history"   title="">
                   <span>Page History</span></a>        </li>
                                        <li>
    
        
    
    <a  id="action-page-permissions-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6950452  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6950452%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6950452"  class="action-page-permissions"   title="Edit restrictions">
                   <span>Restrictions</span></a>        </li>
                            </ul>
                        <ul  id="action-menu-link-secondary"                 class="section-secondary">
                                        <li>
    
        
    
    <a  id="view-page-info-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6950452  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6950452%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6950452"  class="action-view-info"   title="">
                   <span>Info</span></a>        </li>
                                        <li>
    
        
    
    <a  id="link-to-page-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6950452  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6950452%27" tppabs="http://10.20.160.198/wiki/pages/viewinfo.action?pageId=6950452"  class=""   title="Link to this Page">
                   <span>Link to this Page&hellip;</span></a>        </li>
                                        <li>
    
        
    
    <a  id="view-in-hierarchy-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/listpages-dirview.action?key=dubbo&openId=6950452  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/listpages-dirview.action?key=dubbo&openId=6950452#selectedPageInHierarchy%27" tppabs="http://10.20.160.198/wiki/pages/listpages-dirview.action?key=dubbo&openId=6950452#selectedPageInHierarchy"  class=""   title="">
                   <span>View in Hierarchy</span></a>        </li>
                                        <li>
    
        
    
    <a  id="action-view-source-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/viewpagesrc.action?pageId=6950452  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/viewpagesrc.action?pageId=6950452%27" tppabs="http://10.20.160.198/wiki/pages/viewpagesrc.action?pageId=6950452"  class="action-view-source popup-link"   title="">
                   <span>View Wiki Markup</span></a>        </li>
                            </ul>
                    </div>
    </li>
            </ul>
    </div>

    
    <h1 id="title-heading" class="pagetitle" style="display: none">
                    <a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/dubbo  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/dubbo%27" tppabs="http://10.20.160.198/wiki/display/dubbo"><img class="logo space custom" src="dubbo-version=5&modificationDate=1320723683000.jpg" tppabs="http://10.20.160.198/wiki/download/attachments/6324241/dubbo?version=5&modificationDate=1320723683000" alt=""></a>        
	
    </h1>

    

                            <div id="content" class="page view">
    



<div id="link-to-page-fields" class="hidden parameters">
    <input type="hidden" id="linkToThisPageHeading" value="Link to this Page">
    <input type="hidden" id="linkToThisPageLink" value="Link">
    <input type="hidden" id="linkToThisPageTinyLink" value="Tiny Link">
    <input type="hidden" id="linkToThisPageWikiMarkup" value="Wiki Markup">
    <input type="hidden" id="linkToThisPageClose" value="Close">
</div>
<fieldset class="hidden parameters">
    <input type="hidden" title="movePageDialogViewPageTitle" value="Move Page &ndash; &#8216;Maturity-zh&#8217;">
    <input type="hidden" title="movePageDialogEditPageTitle" value="Set Page Location">
    <input type="hidden" title="movePageDialogMoveButton" value="Move">
    <input type="hidden" title="movePageDialogCancelButton" value="Cancel">
    <input type="hidden" title="movePageDialogBrowsePanelTip" value="Click to select the new parent page for this page and its children.">
    <input type="hidden" title="movePageDialogSearchPanel" value="Search">
    <input type="hidden" title="movePageDialogHistoryPanel" value="Recently Viewed">
    <input type="hidden" title="movePageDialogHistoryNoResults" value="There were no recently viewed pages found.">
    <input type="hidden" title="movePageDialogLocationPanel" value="Known Location">
    <input type="hidden" title="movePageDialogLocationNotFound" value="The specified page was not found.">
    <input type="hidden" title="movePageDialogBrowsePanel" value="Browse">
    <input type="hidden" title="movePageDialogPanelLoadErrorMsg" value="Error reading the panel content from the server.">
    <input type="hidden" title="movePageDialogPanelLoadErrorTip" value="You could try reloading the page and launching the dialog again.">
    <input type="hidden" title="movePageDialogPanelLoadErrorStatus" value="HTTP Status">
    <input type="hidden" title="movePageDialogNoSelectionErrorMsg" value="You must make a selection in the tree before you can move the page.">
    <input type="hidden" title="movePageDialogSearchError" value="Failed to retrieve search results from the server.">
    <input type="hidden" title="movePageDialogSearchNoResults" value="There were no pages found containing <b>{0}</b>.">
    <input type="hidden" title="movePageDialogSearchResultCount" value="Showing <b>{0}</b>-<b>{1}</b> of <b>{2}</b> pages containing <b>{3}</b>.">
    <input type="hidden" title="movePageDialogMoveFailed" value="Move failed. There was a problem contacting the server.">
    <input type="hidden" title="movePageDialogCannotChangeSpace" value="You cannot move this page to another space because you do not have permission to remove it from this space.">
    <input type="hidden" title="pageTitle" value="Maturity-zh"/>
    <input type="hidden" title="parentPageTitle" value="User Guide-zh"/>
    <input type="hidden" title="fromPageTitle" value=""/>
    <input type="hidden" title="spaceKey" value="dubbo"/>
    <input type="hidden" title="spaceName" value="Dubbo"/>
    <input type="hidden" title="movePageDialogInvalidLocation" value="You cannot move a page to be underneath itself or its children."/>
    <input type="hidden" title="movePageDialogOrderingTitle" value="Page Ordering"/>
    <input type="hidden" title="movePageDialogBackButton" value="Back"/>
    <input type="hidden" title="movePageDialogMoveAndOrderButton" value="Reorder"/>
    <input type="hidden" title="movePageDialogNextButton" value="Move"/>
</fieldset>

<script type="text/x-template" title="movePageDialog">
    <div class="row information">
        <div class="inner">
            <div class="element">
                Specify the new parent page for this page and its children by space and title.
            </div>
        </div>
    </div>
    <div class="form">
        <fieldset>
                

    <legend class="assistive"><span>Change the Parent Page to a Known Page</span></legend>
            <div class="row">
                <label for="new-space">New space:</label>
                <div class="value new-space-value">
                    <input id="new-space-key" name="new-space-key" type="hidden" value="dubbo">
                                            <span class="space-input">
                            <input id="new-space" name="new-space" value="Dubbo" disabled="disabled">
                        </span>
                        <span class="description warning">You cannot move this page to another space because you do not have permission to remove it from this space.</span>
                                        <div class="new-space-dropdown aui-dd-parent autocomplete"></div>
                </div>
            </div>
            <div class="row">
                <label for="new-parent-page">New parent page:</label>
                <div class="value new-parent-page-value">
                    <span class="page-input">
                        <input id="new-parent-page" name="new-parent-page" value="User Guide-zh">
                    </span>
                    <span class="description">Start typing a page title to see a list of suggestions.</span>
                    <div class="new-parent-page-dropdown aui-dd-parent autocomplete"></div>
                </div>
            </div>
        </fieldset>
    </div>
    <div class="location-info">
        <div class="row">
            <label>Current location:</label>
            <div class="value breadcrumbs-container">
                <div class="breadcrumbs-line">
                    <ul id="current-parent-breadcrumbs" class="breadcrumbs">
                    </ul>
                </div>
            </div>
        </div>
        <div class="row">
            <label>New location:</label>
            <div class="value breadcrumbs-container">
                <div class="breadcrumbs-line">
                    <ul id="new-parent-breadcrumbs" class="breadcrumbs">
                    </ul>
                </div>
            </div>
        </div>
    </div>
</script>
<script type="text/x-template" title="movePageErrors">
    <div id="move-errors" class="hidden warning"></div>
</script>
<script type="text/x-template" title="movePageBreadcrumb">
    <li><a class="{2}" title="{3}" tabindex="-1"><span>{0}</span></a></li>
</script>
<script type="text/x-template" title="movePageBreadcrumbLoading">
    <li class="loading"><span>Loading breadcrumbs&hellip;</span></li>
</script>
<script type="text/x-template" title="movePageBreadcrumbError">
    <li class="warning last"><span>Error retrieving breadcrumbs.</span></li>
</script>
<script type="text/x-template" title="movePageNoMatchingPages">
    <ol><li><span class="warning">No matching pages found.</span></li></ol>
</script>
<script type="text/x-template" title="movePageNoMatchingSpaces">
    <ol><li><span class="warning">No matching spaces found.</span></li></ol>
</script>

<script type="text/x-template" title="movePageSearchPanel">
    <div class="row information">
        <div class="inner">
            <div class="element">
                Search for and select the new parent page for this page and its children.
            </div>
        </div>
    </div>
    <div id="move-page-search-container" class="row">
        <div class="search-form">
            <fieldset>
                    

    <legend class="assistive"><span>Search for a New Parent Page</span></legend>
                    

    <label  for="move-page-search-query" class="assistive">Search keywords</label>
                <input class="search-query" id="move-page-search-query">
                    

    <label  for="move-page-search-space" class="assistive">Search in space</label>
                                    <select id="move-page-search-space" class="search-space" disabled="disabled">
                        <option value="dubbo" selected="selected">Dubbo</option>
                    </select>
                                <input type="button" value="Search">
                                    <div class="description warning">You cannot move this page to another space because you do not have permission to remove it from this space.</div>
                            </fieldset>
        </div>
        <div class="search-results">
        </div>
    </div>
</script>
<script type="text/x-template" title="movePageSearchResultsLoading">
    <div class="searching">Searching…</div>
</script>

<script type="text/x-template" title="movePageHistoryPanel">
    <div class="row information">
        <div class="inner">
            <div class="element">
                Select the new parent page for this page and its children from your history.
            </div>
        </div>
    </div>
    <div id="move-page-search-container" class="row">
        <div class="search-results">
        </div>
    </div>
</script>
<script type="text/x-template" title="movePageHistoryLoading">
    <div class="searching">Loading…</div>
</script>
<script type="text/x-template" title="movePageBrowsePanel">
    <div class="row information">
        <div class="inner">
            <div class="element">
                Click to select the new parent page for this page and its children.
            </div>
        </div>
    </div>
    <div class="tree"></div>
</script>
<script type="text/x-template" title="movePagePanelLoading">
    <span>Loading…</span>
</script>
<script type="text/x-template" title="movePageBrowsePanelSpace">
    <ul><li id='tree-root-node-item' class='root-node-list-item'><a class='root-node' href='#'>{0}</a></li></ul>
</script>
<script type="text/x-template" title="orderingPagePanel">
<div id="orderingPlaceHolder"></div>
</script>
<script type="text/x-template" title="reorderCheckbox">
<span id="reorderRequirement"><input id="reorderCheck" type="checkbox" name="reorderFlag" title="Choose the position of this page within the list of child pages."/><label for="reorderCheck" title="Choose the position of this page within the list of child pages.">Reorder</label></span>
</script>
<script type="text/x-template" title="move-help-link">
    <div class="dialog-help-link">
            <a href="http://docs.atlassian.com/confluence/docs-35/Moving+a+Page" target="_blank">Help</a>
    </div>
</script>
<script type="text/x-template" title="searchResultsGrid">
    <table>
        <thead>
            <tr class="header">
                <th class="search-result-title">Page Title</th>
                <th class="search-result-space">Space</th>
                <th class="search-result-date">Updated</th>
            </tr>
        </thead>
    </table>
</script>
<script type="text/x-template" title="searchResultsGridCount">
    <p class="search-result-count">{0}</p>
</script>
<script type="text/x-template" title="searchResultsGridRow">
    <tr class="search-result">
        <th class="search-result-title"><a href="{1}" class="content-type-{2}"><span>{0}</span></a></th>
        <td class="search-result-space"><a class="space" href="http://10.20.160.198/wiki/display/{4}/" title="{3}">{3}</a></td>
        <td class="search-result-date"><span class="date" title="{6}">{5}</span></td>
    </tr>
</script>
<!-- Start restrictions section -->
<script type="text/x-template" title="page-permissions-div">
<div id="page-permissions-div">
    <div id="page-permissions-editor-form">

                <div id="page-permissions-error-div" class="hidden">
            <a href="#" id="permissions-error-div-close">Ok</a>
            <div></div>
        </div>

                <div id="page-permissions-type-radios" class="page-permissions-label-rows">
            <div>
                <input id="restrictViewRadio" type="radio" checked="checked" name="pagePermissionTypeRadio" value="view"/>
                <label for="restrictViewRadio">Restrict viewing of this page</label>
                <input id="restrictEditRadio" type="radio" name="pagePermissionTypeRadio" value="edit"/>
                <label for="restrictEditRadio">Restrict editing of this page</label>
            </div>
        </div>
        <div id="page-permissions-input" class="page-permissions-label-rows">
            <div class="page-permissions-label">To:</div>
            <div id="page-permissions-chooser-box">
                                <span id="page-permissions-choose-user" class="ajs-button">
                    



    



<a href="#" id='userpicker-popup-link-image' onClick="var picker = window.open('http://10.20.160.198/wiki/spaces/openuserpicker.action?key=dubbo&startIndex=0&onPopupSubmit=AJS.PagePermissions.addUserPermissions', 'EntitiesPicker', 'status=yes,resizable=yes,top=100,left=200,width=700,height=680,scrollbars=yes'); picker.focus(); return false;"><img src="user_16.gif"/*tpa=http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/user_16.gif*/ height=16 width=16 border=0 align="absmiddle"  title="Choose users" /></a>
<a href="#" id='userpicker-popup-link-text' onClick="var picker = window.open('http://10.20.160.198/wiki/spaces/openuserpicker.action?key=dubbo&startIndex=0&onPopupSubmit=AJS.PagePermissions.addUserPermissions', 'EntitiesPicker', 'status=yes,resizable=yes,top=100,left=200,width=700,height=680,scrollbars=yes'); picker.focus(); return false;">Person...</a>


                </span>
                <span id="page-permissions-choose-group" class="ajs-button">
                    



    

 

<a href="#" id='grouppicker-popup-link-image' onClick="var picker = window.open('http://10.20.160.198/wiki/spaces/opengrouppicker.action?key=dubbo&startIndex=0&actionName=dosearchgroups.action&onPopupSubmit=AJS.PagePermissions.addGroupPermissions', 'EntitiesPicker', 'status=yes,resizable=yes,top=100,left=200,width=580,height=550,scrollbars=yes'); picker.focus(); return false;"><img src="group_16.gif"/*tpa=http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/group_16.gif*/ height=16 width=16 border=0 align="absmiddle"  title="Choose groups" /></a>
<a href="#" id='grouppicker-popup-link-text' onClick="var picker = window.open('http://10.20.160.198/wiki/spaces/opengrouppicker.action?key=dubbo&startIndex=0&actionName=dosearchgroups.action&onPopupSubmit=AJS.PagePermissions.addGroupPermissions', 'EntitiesPicker', 'status=yes,resizable=yes,top=100,left=200,width=580,height=550,scrollbars=yes'); picker.focus(); return false;">Group...</a>


                </span>
            </div>
            <div id="page-permissions-input-box">
                                <span>
                    <input type="text" id="page-permissions-names-input" class="input-placeholder" value="Enter user or group name" name="permissionNames" size="30" autocomplete="off"/>
                </span>
                <input
    type="hidden"
                            id="page-permissions-names-hidden"           />                <img height="16px" width="1px" src="spacer.gif"/*tpa=http://10.20.160.198/wiki/s/en/2166/34/_/images/border/spacer.gif*//>
                <input type="button" id="add-typed-names" value="Restrict">
            </div>
        </div>
    </div>
    <div id="page-permissions-tables">
        <div id="page-permissions-table-div">
                        <table id="page-permissions-table" class="page-permissions-table">
                <tr id="page-permissions-no-views" class="marker-row">
                    <td colspan="3" class="page-permissions-marker-cell"><span>No view restrictions are defined for this page</span></td>
                </tr>
                <tr id="page-permissions-no-edits" class="marker-row">
                    <td colspan="3" class="page-permissions-marker-cell"><span>No edit restrictions are defined for this page</span></td>
                </tr>
            </table>
        </div>
        <div id="page-inherited-permissions-table-div" class="hidden">
            <span id="page-inherited-permissions-table-desc">
                <a class="icon twisty-closed">Show/Hide</a>
                <a id="toggle-inherited-permissions" title="Click to see inherited restrictions">This page has restricted parent pages. It can only be seen by users who can see those parent pages.</a>
            </span>
            <div id="page-inherited-permissions-tables" class="hidden page-inheritance-togglable"></div>
        </div>
    </div>
</div>
</script>

<script type="text/x-template" title="permissions-row-template">
    <tr class="permission-row">
                                
                <td class="page-permissions-marker-cell" width="20%">
            <span>Viewing restricted to:</span>
        </td>
                <td class="permission-entity" nowrap="true" width="40%">
            <span class="entity-container">
                <img class="permission-entity-picture"/>
                <span class="permission-entity-display-name"></span>
                <span class="permission-entity-name-wrap">&nbsp;(<span class="permission-entity-name"></span>)</span>
            </span>
        </td>
        <td class="permission-detail-column">
            <div class="permission-remove-div">
                <a href="#" class="remove-permission-link">Remove restriction</a>
            </div>
        </td>
    </tr>
</script>
<script type="text/x-template" title="permissions-username-no-suggestion-template">
    <ol>
        <li><a href="#" class="message"><span>No matches</span></a></li>
    </ol>
</script>
<script type="text/x-template" title="page-inherited-permissions-table-div-template">
        <div class="page-inherited-permissions-owner-div">
        <div class="page-inherited-permissions-table-desc">Viewing restrictions apply to “<a></a>”. In order to see “<span></span>”, a user must be in the following list of users and groups:</div>
        <table class="page-permissions-table"></table>
    </div>
</script>
<script type="text/x-template" title="page-restrictions-help-link">
    <div class="dialog-help-link">
            <a href="http://docs.atlassian.com/confluence/docs-35/Page+Restrictions" target="_blank">Help</a>
    </div>
</script>
<!-- End restrictions section -->

<fieldset class="hidden parameters">
    <input type="hidden" title="spaceKeyEncoded" value="dubbo">
    <input type="hidden" title="spaceKeyDecoded" value="dubbo">
</fieldset>


        
    
    
        
                            
    

                    

        
        <a href="#page-metadata-end" class="assistive">Skip to end of metadata</a>
<div id="page-metadata-start" class="assistive"></div>

    <div class="page-metadata">
        <ul>
                            <li class="page-metadata-item noprint">
    
            
    
    <a  id="content-metadata-page-restrictions" href="#"  class="page-metadata-icon page-restrictions hidden"   title="Page restrictions apply. Click the lock icon to view or edit the restriction.">
                   <span>Page restrictions apply</span></a>        </li>
                        <li class="page-metadata-modification-info" style="display: none">
                                    Added by <a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~william.liangf  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~william.liangf%27" tppabs="http://10.20.160.198/wiki/display/~william.liangf"
                          class="url fn confluence-userlink" data-username="william.liangf"
                   >梁 飞</a>, last edited by <a href="javascript:if(confirm(%27http://10.20.160.198/wiki/display/~ding.lid  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/display/~ding.lid%27" tppabs="http://10.20.160.198/wiki/display/~ding.lid"
                          class="url fn confluence-userlink" data-username="ding.lid"
                   >李 鼎</a> on 十一月 09, 2012
                                                                <span class="noprint">&nbsp;(<a id="view-change-link" href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/diffpages.action?pageId=6950452&originalId=7674512  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/diffpages.action?pageId=6950452&originalId=7674512%27" tppabs="http://10.20.160.198/wiki/pages/diffpages.action?pageId=6950452&originalId=7674512">view change</a>)</span>
                                                </li>
                    </ul>
          <div id="version-comment" class="noteMacro" style="display: none;">
      <strong>Comment:</strong>
      <br />
  </div>
    </div>


<a href="#page-metadata-start" class="assistive">Go to start of metadata</a>
<div id="page-metadata-end" class="assistive"></div>
        
        <fieldset class="hidden parameters">
                        <input type="hidden" title="browsePageTreeMode" value="view">
            <input type="hidden" title="parentPageId" value="6948813">
        </fieldset>

        <div class="wiki-content">
           <!-- wiki content -->
            <h2><a name="Maturity-zh-%E6%88%90%E7%86%9F%E5%BA%A6"></a>成熟度</h2>
<p>(<a href="Maturity-zh.htm" tppabs="http://10.20.160.198/wiki/display/dubbo/Maturity-zh" title="Maturity-zh">+</a>) (<a href="#Maturity-zh-%E6%88%90%E7%86%9F%E5%BA%A6">#</a>)</p>

<h3><a name="Maturity-zh-%E5%8A%9F%E8%83%BD%E6%88%90%E7%86%9F%E5%BA%A6"></a>功能成熟度</h3>
<p>(<a href="#Maturity-zh-%E5%8A%9F%E8%83%BD%E6%88%90%E7%86%9F%E5%BA%A6">#</a>)</p>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> <font color="#000000">Feature</font> </th>
<th class='confluenceTh'> <font color="#000000">Maturity</font> </th>
<th class='confluenceTh'> <font color="#000000">Strength</font> </th>
<th class='confluenceTh'> <font color="#000000">Problem</font> </th>
<th class='confluenceTh'> <font color="#000000">Advise</font> </th>
<th class='confluenceTh'> <font color="#000000">User</font> </th>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E5%B9%B6%E5%8F%91%E6%8E%A7%E5%88%B6">并发控制</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 并发控制 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E8%BF%9E%E6%8E%A5%E6%8E%A7%E5%88%B6">连接控制</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 连接数控制 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E7%9B%B4%E8%BF%9E%E6%8F%90%E4%BE%9B%E8%80%85">直连提供者</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 点对点直连服务提供方，用于测试 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 测试环境使用 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E5%88%86%E7%BB%84%E8%81%9A%E5%90%88">分组聚合</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 分组聚合返回值，用于菜单聚合等服务 </td>
<td class='confluenceTd'> 特殊场景使用 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E5%8F%82%E6%95%B0%E9%AA%8C%E8%AF%81">参数验证</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 参数验证，JSR303验证框架集成 </td>
<td class='confluenceTd'> 对性能有影响 </td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'> LaiWang </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E7%BB%93%E6%9E%9C%E7%BC%93%E5%AD%98">结果缓存</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 结果缓存，用于加速请求 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E6%B3%9B%E5%8C%96%E5%BC%95%E7%94%A8">泛化引用</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 泛化调用，无需业务接口类进行远程调用，用于测试平台，开放网关桥接等 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E6%B3%9B%E5%8C%96%E5%AE%9E%E7%8E%B0">泛化实现</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 泛化实现，无需业务接口类实现任意接口，用于Mock平台 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E5%9B%9E%E5%A3%B0%E6%B5%8B%E8%AF%95">回声测试</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 回声测试 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E9%9A%90%E5%BC%8F%E4%BC%A0%E5%8F%82">隐式传参</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 附加参数 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E5%BC%82%E6%AD%A5%E8%B0%83%E7%94%A8">异步调用</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 不可靠异步调用 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E6%9C%AC%E5%9C%B0%E8%B0%83%E7%94%A8">本地调用</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 本地调用 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E5%8F%82%E6%95%B0%E5%9B%9E%E8%B0%83">参数回调</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 参数回调 </td>
<td class='confluenceTd'> 特殊场景使用 </td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'> Registry </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E4%BA%8B%E4%BB%B6%E9%80%9A%E7%9F%A5">事件通知</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 事件通知，在远程调用执行前后触发 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E6%9C%AC%E5%9C%B0%E5%AD%98%E6%A0%B9">本地存根</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 在客户端执行部分逻辑 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E6%9C%AC%E5%9C%B0%E4%BC%AA%E8%A3%85">本地伪装</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 伪造返回结果，可在失败时执行，或直接执行，用于服务降级 </td>
<td class='confluenceTd'> 需注册中心支持 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E5%BB%B6%E8%BF%9F%E6%9A%B4%E9%9C%B2">延迟暴露</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 延迟暴露服务，用于等待应用加载warmup数据，或等待spring加载完成 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E5%BB%B6%E8%BF%9F%E8%BF%9E%E6%8E%A5">延迟连接</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 延迟建立连接，调用时建立 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'> Registry </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E7%B2%98%E6%BB%9E%E8%BF%9E%E6%8E%A5">粘滞连接</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 粘滞连接，总是向同一个提供方发起请求，除非此提供方挂掉，再切换到另一台 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'> Registry </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E4%BB%A4%E7%89%8C%E9%AA%8C%E8%AF%81">令牌验证</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 令牌验证，用于服务授权 </td>
<td class='confluenceTd'> 需注册中心支持 </td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E8%B7%AF%E7%94%B1%E8%A7%84%E5%88%99">路由规则</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 动态决定调用关系 </td>
<td class='confluenceTd'> 需注册中心支持 </td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E9%85%8D%E7%BD%AE%E8%A7%84%E5%88%99">配置规则</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 动态下发配置，实现功能的开关 </td>
<td class='confluenceTd'> 需注册中心支持 </td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E8%AE%BF%E9%97%AE%E6%97%A5%E5%BF%97">访问日志</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 访问日志，用于记录调用信息 </td>
<td class='confluenceTd'> 本地存储，影响性能，受磁盘大小限制 </td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E5%88%86%E5%B8%83%E5%BC%8F%E4%BA%8B%E5%8A%A1">分布式事务</a> </td>
<td class='confluenceTd'> Research </td>
<td class='confluenceTd'> JTA/XA三阶段提交事务 </td>
<td class='confluenceTd'> 不稳定 </td>
<td class='confluenceTd'> 不可用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
</tbody></table>
</div>


<h3><a name="Maturity-zh-%E7%AD%96%E7%95%A5%E6%88%90%E7%86%9F%E5%BA%A6"></a>策略成熟度</h3>
<p>(<a href="#Maturity-zh-%E7%AD%96%E7%95%A5%E6%88%90%E7%86%9F%E5%BA%A6">#</a>)</p>

<div class='table-wrap'>
<table class='confluenceTable'><tbody>
<tr>
<th class='confluenceTh'> <font color="#000000">Feature</font> </th>
<th class='confluenceTh'> <font color="#000000">Maturity</font> </th>
<th class='confluenceTh'> <font color="#000000">Strength</font> </th>
<th class='confluenceTh'> <font color="#000000">Problem</font> </th>
<th class='confluenceTh'> <font color="#000000">Advise</font> </th>
<th class='confluenceTh'> <font color="#000000">User</font> </th>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-Zookeeper%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83">Zookeeper注册中心</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 支持基于网络的集群方式，有广泛周边开源产品，建议使用dubbo-2.3.3以上版本（推荐使用） </td>
<td class='confluenceTd'> 依赖于Zookeeper的稳定性 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-Redis%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83">Redis注册中心</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 支持基于客户端双写的集群方式，性能高 </td>
<td class='confluenceTd'> 要求服务器时间同步，用于检查心跳过期脏数据 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-Multicast%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83">Multicast注册中心</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 去中心化，不需要安装注册中心 </td>
<td class='confluenceTd'> 依赖于网络拓普和路由，跨机房有风险 </td>
<td class='confluenceTd'> 小规模应用或开发测试环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-Simple%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83">Simple注册中心</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> Dogfooding，注册中心本身也是一个标准的RPC服务 </td>
<td class='confluenceTd'> 没有集群支持，可能单点故障 </td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<th class='confluenceTh'> <font color="#000000">Feature</font> </th>
<th class='confluenceTh'> <font color="#000000">Maturity</font> </th>
<th class='confluenceTh'> <font color="#000000">Strength</font> </th>
<th class='confluenceTh'> <font color="#000000">Problem</font> </th>
<th class='confluenceTh'> <font color="#000000">Advise</font> </th>
<th class='confluenceTh'> <font color="#000000">User</font> </th>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-Simple%E7%9B%91%E6%8E%A7%E4%B8%AD%E5%BF%83">Simple监控中心</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 支持JFreeChart统计报表 </td>
<td class='confluenceTd'> 没有集群支持，可能单点故障，但故障后不影响RPC运行 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<th class='confluenceTh'> <font color="#000000">Feature</font> </th>
<th class='confluenceTh'> <font color="#000000">Maturity</font> </th>
<th class='confluenceTh'> <font color="#000000">Strength</font> </th>
<th class='confluenceTh'> <font color="#000000">Problem</font> </th>
<th class='confluenceTh'> <font color="#000000">Advise</font> </th>
<th class='confluenceTh'> <font color="#000000">User</font> </th>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-dubbo%253A%252F%252F">Dubbo协议</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 采用NIO复用单一长连接，并使用线程池并发处理请求，减少握手和加大并发效率，性能较好（推荐使用） </td>
<td class='confluenceTd'> 在大文件传输时，单一连接会成为瓶颈 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-rmi%253A%252F%252F">Rmi协议</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 可与原生RMI互操作，基于TCP协议 </td>
<td class='confluenceTd'> 偶尔会连接失败，需重建Stub </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-hessian%253A%252F%252F">Hessian协议</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 可与原生Hessian互操作，基于HTTP协议 </td>
<td class='confluenceTd'> 需hessian.jar支持，http短连接的开销大 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<th class='confluenceTh'> <font color="#000000">Feature</font> </th>
<th class='confluenceTh'> <font color="#000000">Maturity</font> </th>
<th class='confluenceTh'> <font color="#000000">Strength</font> </th>
<th class='confluenceTh'> <font color="#000000">Problem</font> </th>
<th class='confluenceTh'> <font color="#000000">Advise</font> </th>
<th class='confluenceTh'> <font color="#000000">User</font> </th>
</tr>
<tr>
<td class='confluenceTd'> Netty Transporter </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> JBoss的NIO框架，性能较好（推荐使用） </td>
<td class='confluenceTd'> 一次请求派发两种事件，需屏蔽无用事件 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> Mina Transporter </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 老牌NIO框架，稳定 </td>
<td class='confluenceTd'> 待发送消息队列派发不及时，大压力下，会出现FullGC </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> Grizzly Transporter </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> Sun的NIO框架，应用于GlassFish服务器中 </td>
<td class='confluenceTd'> 线程池不可扩展，Filter不能拦截下一Filter </td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<th class='confluenceTh'> <font color="#000000">Feature</font> </th>
<th class='confluenceTh'> <font color="#000000">Maturity</font> </th>
<th class='confluenceTh'> <font color="#000000">Strength</font> </th>
<th class='confluenceTh'> <font color="#000000">Problem</font> </th>
<th class='confluenceTh'> <font color="#000000">Advise</font> </th>
<th class='confluenceTh'> <font color="#000000">User</font> </th>
</tr>
<tr>
<td class='confluenceTd'> Hessian Serialization </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 性能较好，多语言支持（推荐使用） </td>
<td class='confluenceTd'> Hessian的各版本兼容性不好，可能和应用使用的Hessian冲突，Dubbo内嵌了hessian3.2.1的源码 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> Dubbo Serialization </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 通过不传送POJO的类元信息，在大量POJO传输时，性能较好 </td>
<td class='confluenceTd'> 当参数对象增加字段时，需外部文件声明 </td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> Json Serialization </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 纯文本，可跨语言解析，缺省采用FastJson解析 </td>
<td class='confluenceTd'> 性能较差 </td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> Java Serialization </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> Java原生支持 </td>
<td class='confluenceTd'> 性能较差 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<th class='confluenceTh'> <font color="#000000">Feature</font> </th>
<th class='confluenceTh'> <font color="#000000">Maturity</font> </th>
<th class='confluenceTh'> <font color="#000000">Strength</font> </th>
<th class='confluenceTh'> <font color="#000000">Problem</font> </th>
<th class='confluenceTh'> <font color="#000000">Advise</font> </th>
<th class='confluenceTh'> <font color="#000000">User</font> </th>
</tr>
<tr>
<td class='confluenceTd'> Javassist ProxyFactory </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 通过字节码生成代替反射，性能比较好（推荐使用） </td>
<td class='confluenceTd'> 依赖于javassist.jar包，占用JVM的Perm内存，Perm可能要设大一些：java&nbsp;-XX:PermSize=128m </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> Jdk ProxyFactory </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> JDK原生支持 </td>
<td class='confluenceTd'> 性能较差 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<th class='confluenceTh'> <font color="#000000">Feature</font> </th>
<th class='confluenceTh'> <font color="#000000">Maturity</font> </th>
<th class='confluenceTh'> <font color="#000000">Strength</font> </th>
<th class='confluenceTh'> <font color="#000000">Problem</font> </th>
<th class='confluenceTh'> <font color="#000000">Advise</font> </th>
<th class='confluenceTh'> <font color="#000000">User</font> </th>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-FailoverCluster">Failover Cluster</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 失败自动切换，当出现失败，重试其它服务器，通常用于读操作（推荐使用） </td>
<td class='confluenceTd'> 重试会带来更长延迟 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-FailfastCluster">Failfast Cluster</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 快速失败，只发起一次调用，失败立即报错,通常用于非幂等性的写操作 </td>
<td class='confluenceTd'> 如果有机器正在重启，可能会出现调用失败 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-FailsafeCluster">Failsafe Cluster</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 失败安全，出现异常时，直接忽略，通常用于写入审计日志等操作 </td>
<td class='confluenceTd'> 调用信息丢失 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Monitor </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-FailbackCluster">Failback Cluster</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 失败自动恢复，后台记录失败请求，定时重发，通常用于消息通知操作 </td>
<td class='confluenceTd'> 不可靠，重启丢失 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Registry </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-ForkingCluster">Forking Cluster</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 并行调用多个服务器，只要一个成功即返回，通常用于实时性要求较高的读操作 </td>
<td class='confluenceTd'> 需要浪费更多服务资源 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-BroadcastCluster">Broadcast Cluster</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 广播调用所有提供者，逐个调用，任意一台报错则报错，通常用于更新提供方本地状态 </td>
<td class='confluenceTd'> 速度慢，任意一台报错则报错 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<th class='confluenceTh'> <font color="#000000">Feature</font> </th>
<th class='confluenceTh'> <font color="#000000">Maturity</font> </th>
<th class='confluenceTh'> <font color="#000000">Strength</font> </th>
<th class='confluenceTh'> <font color="#000000">Problem</font> </th>
<th class='confluenceTh'> <font color="#000000">Advise</font> </th>
<th class='confluenceTh'> <font color="#000000">User</font> </th>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-RandomLoadBalance">Random LoadBalance</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 随机，按权重设置随机概率（推荐使用） </td>
<td class='confluenceTd'> 在一个截面上碰撞的概率高，重试时，可能出现瞬间压力不均 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-RoundRobinLoadBalance">RoundRobin LoadBalance</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 轮循，按公约后的权重设置轮循比率 </td>
<td class='confluenceTd'> 存在慢的机器累积请求问题，极端情况可能产生雪崩 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-LeastActiveLoadBalance">LeastActive LoadBalance</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 最少活跃调用数，相同活跃数的随机，活跃数指调用前后计数差，使慢的机器收到更少请求 </td>
<td class='confluenceTd'> 不支持权重，在容量规划时，不能通过权重把压力导向一台机器压测容量 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-ConsistentHashLoadBalance">ConsistentHash LoadBalance</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 一致性Hash，相同参数的请求总是发到同一提供者，当某一台提供者挂时，原本发往该提供者的请求，基于虚拟节点，平摊到其它提供者，不会引起剧烈变动 </td>
<td class='confluenceTd'> 压力分摊不均 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<th class='confluenceTh'> <font color="#000000">Feature</font> </th>
<th class='confluenceTh'> <font color="#000000">Maturity</font> </th>
<th class='confluenceTh'> <font color="#000000">Strength</font> </th>
<th class='confluenceTh'> <font color="#000000">Problem</font> </th>
<th class='confluenceTh'> <font color="#000000">Advise</font> </th>
<th class='confluenceTh'> <font color="#000000">User</font> </th>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E6%9D%A1%E4%BB%B6%E8%B7%AF%E7%94%B1%E8%A7%84%E5%88%99">条件路由规则</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 基于条件表达式的路由规则，功能简单易用 </td>
<td class='confluenceTd'> 有些复杂多分支条件情况，规则很难描述 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-%E8%84%9A%E6%9C%AC%E8%B7%AF%E7%94%B1%E8%A7%84%E5%88%99">脚本路由规则</a> </td>
<td class='confluenceTd'> Tested </td>
<td class='confluenceTd'> 基于脚本引擎的路由规则，功能强大 </td>
<td class='confluenceTd'> 没有运行沙箱，脚本能力过于强大，可能成为后门 </td>
<td class='confluenceTd'> 试用 </td>
<td class='confluenceTd'>&nbsp;</td>
</tr>
<tr>
<th class='confluenceTh'> <font color="#000000">Feature</font> </th>
<th class='confluenceTh'> <font color="#000000">Maturity</font> </th>
<th class='confluenceTh'> <font color="#000000">Strength</font> </th>
<th class='confluenceTh'> <font color="#000000">Problem</font> </th>
<th class='confluenceTh'> <font color="#000000">Advise</font> </th>
<th class='confluenceTh'> <font color="#000000">User</font> </th>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-SpringContainer">Spring Container</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 自动加载META-INF/spring目录下的所有Spring配置 </td>
<td class='confluenceTd'>&nbsp;</td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-JettyContainer">Jetty Container</a> </td>
<td class='confluenceTd'> Stable </td>
<td class='confluenceTd'> 启动一个内嵌Jetty，用于汇报状态 </td>
<td class='confluenceTd'> 大量访问页面时，会影响服务器的线程和内存 </td>
<td class='confluenceTd'> 可用于生产环境 </td>
<td class='confluenceTd'> Alibaba </td>
</tr>
<tr>
<td class='confluenceTd'> <a href="#Maturity-zh-Log4jContainer">Log4j Container</a> </td>
<td class='confluenceTd'> Stable  </td>
<td class='confluenceTd'> 自动配置log4j的配置，在多进程启动时，自动给日志文件按进程分目录 </td>
<td class='confluenceTd'> 用户不能控制log4j的配置，不灵活 </td>
<td class='confluenceTd'> 可用于生产环境  </td>
<td class='confluenceTd'> Alibaba  </td>
</tr>
</tbody></table>
</div>
        </div>

        <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
         <rdf:Description
    rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh"
    dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh"
    dc:title="Maturity-zh"
    trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/6950452"/>
</rdf:RDF>
-->

            
    


<fieldset class="hidden parameters">
    <legend>Labels parameters</legend>
    <input type="hidden" id="domainName" value="http://code.alibabatech.com/wiki">
    <input type="hidden" id="pageId" value="6950452">
    <input type="hidden" id="spaceKey" value="dubbo">
</fieldset>

<div id="labels-section" class="pageSection">
    <div class="labels-editor">
        <span id="labels-section-title" class="label-title">
            <b>Labels:</b>
        </span>
        <div id="labels-section-content" class="content-column">
            <span id="labels-section-title-none" class="label-title none ">
                None
            </span>

            <div id="labelsList" class="label-list">
                            </div>

                    </div>

        <span class="errorMessage error" id="errorSpan"></span>
        <form method="GET" action="" id="add-labels-form">
            <div id="labelInputSpan" class="labels-input">
                <div id="labelOperationErrorContainer" class="hidden">
                    <span class="error"><span class="errorMessage" id="labelOperationErrorMessage"></span></span>
                </div>

                <div class="caption">Enter labels to add to this page:</div>
                <div id="label-input-fields">
                    <input autocomplete="off" id="labelsString" name="labelsString" value="" size="40">
                    <input id="add-labels-editor-button" type="submit" class="add-labels" value="Add">
                    <input id="close-labels-editor-button" type="submit" class="hide-labels-editor" value="Done">
                </div>
                <div id="waitImageAndStatus">
                    <img class="waiting" alt="Please wait" src="wait.gif" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/wait.gif">&nbsp;
                    <span id="labelOperationStatus" class="smalltext"></span>
                </div>
                <div id="labelsAutocompleteList" class="aui-dd-parent"></div>
                <div class="labels-tip">
                    <div id="suggestedLabelsSpan"></div>
                    Looking for a label? Just start typing.
                </div>
            </div>
        </form>
    </div>
</div>

            
            




            
    

        
<fieldset class="parameters hidden">
    <input type="hidden" id="deleteCommentConfirmMessage" value="Are you sure you want to remove the comment?">
    <input type="hidden" id="collapseTooltip" value="Click to toggle the display of this comment.">
        </fieldset>

<fieldset class="hidden parameters i18n">
        <input type="hidden" title="i18n.cancel.name" value="Cancel">
</fieldset>






<div id="comments-section" class="pageSection">
    
            <div class="section-header ">
            <h2 id="comments-section-title" class="section-title">
                <a href="#" class="comments-show-hide comments-showing" name="comments">
                                            5 Comments
                                    </a>
            </h2>
            <a title="comments.show.hide" href="#"
               class="comments-show-hide icon comments-showing icon-section-opened">
               comments.show.hide
            </a>
        </div>
    
    
                            <ol class="comment-threads top-level " id="page-comments">
                        <li id="comment-thread-7673881" class="comment-thread">
                    <div class="comment  " id="comment-7673881">
                <p class="comment-user-logo">
                    <img class="userLogo logo anonymous" src="anonymous.png" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/profilepics/anonymous.png"
            alt="User icon: Anonymous" title="Anonymous">                </p>
                <p class="date" title="八月 29, 2012 00:26">
                    八月 29, 2012
                </p>
                <div class="comment-header">
                    <h4 class="author">Anonymous</h4>
                </div>
                <div class="comment-body">
                    <div class="comment-content wiki-content">
                        <p>Slam dunkin like Shaqilule O'Neal, if he wrote informative articles.</p>
                    </div>
                    <div class="comment-actions">
                                                    <ul id="comment-actions-secondary">
                                                          <li class="first comment-permalink">
            <a title="Permanent link to this comment" href="Maturity-zh-focusedCommentId=7673881.htm#comment-7673881" tppabs="http://10.20.160.198/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673881#comment-7673881"
                id="comment-permalink-7673881"                ><span>Permalink</span></a></li>
            </ul>
                            <ul id="comment-actions-primary">
                                                          <li class="first action-reply-comment">
            <a  href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673881&pageId=6950452  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673881&pageId=6950452%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673881&pageId=6950452"
                id="reply-comment-7673881"                ><span>Reply</span></a></li>
            </ul>
                    </div>
                </div>
            </div>

            <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
         <rdf:Description
    rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673881#comment-7673881"
    dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673881#comment-7673881"
    dc:title="Maturity-zh"
    trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/7673881"/>
</rdf:RDF>
-->

                    
                                </li>
                        <li id="comment-thread-7673902" class="comment-thread">
                    <div class="comment  " id="comment-7673902">
                <p class="comment-user-logo">
                    <img class="userLogo logo anonymous" src="anonymous.png" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/profilepics/anonymous.png"
            alt="User icon: Anonymous" title="Anonymous">                </p>
                <p class="date" title="八月 29, 2012 20:26">
                    八月 29, 2012
                </p>
                <div class="comment-header">
                    <h4 class="author">Anonymous</h4>
                </div>
                <div class="comment-body">
                    <div class="comment-content wiki-content">
                        <p>2jHIxU  &lt;a href="http://mcstzwpekkrl.com/"&gt;mcstzwpekkrl&lt;/a&gt;</p>
                    </div>
                    <div class="comment-actions">
                                                    <ul id="comment-actions-secondary">
                                                          <li class="first comment-permalink">
            <a title="Permanent link to this comment" href="Maturity-zh-focusedCommentId=7673902.htm#comment-7673902" tppabs="http://10.20.160.198/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673902#comment-7673902"
                id="comment-permalink-7673902"                ><span>Permalink</span></a></li>
            </ul>
                            <ul id="comment-actions-primary">
                                                          <li class="first action-reply-comment">
            <a  href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673902&pageId=6950452  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673902&pageId=6950452%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673902&pageId=6950452"
                id="reply-comment-7673902"                ><span>Reply</span></a></li>
            </ul>
                    </div>
                </div>
            </div>

            <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
         <rdf:Description
    rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673902#comment-7673902"
    dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673902#comment-7673902"
    dc:title="Maturity-zh"
    trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/7673902"/>
</rdf:RDF>
-->

                    
                                </li>
                        <li id="comment-thread-7673913" class="comment-thread">
                    <div class="comment  " id="comment-7673913">
                <p class="comment-user-logo">
                    <img class="userLogo logo anonymous" src="anonymous.png" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/profilepics/anonymous.png"
            alt="User icon: Anonymous" title="Anonymous">                </p>
                <p class="date" title="八月 30, 2012 11:10">
                    八月 30, 2012
                </p>
                <div class="comment-header">
                    <h4 class="author">Anonymous</h4>
                </div>
                <div class="comment-body">
                    <div class="comment-content wiki-content">
                        <p>8wpYaK , <span class="error">&#91;url=http://zyrnjeivyvwj.com/&#93;</span>zyrnjeivyvwj<span class="error">&#91;/url&#93;</span>, <span class="error">&#91;link=http://cqihzczbbprs.com/&#93;</span>cqihzczbbprs<span class="error">&#91;/link&#93;</span>, <a href="javascript:if(confirm(%27http://cwuntnbimisb.com/  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://cwuntnbimisb.com/%27" tppabs="http://cwuntnbimisb.com/" class="external-link" rel="nofollow">http://cwuntnbimisb.com/</a></p>
                    </div>
                    <div class="comment-actions">
                                                    <ul id="comment-actions-secondary">
                                                          <li class="first comment-permalink">
            <a title="Permanent link to this comment" href="Maturity-zh-focusedCommentId=7673913.htm#comment-7673913" tppabs="http://10.20.160.198/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673913#comment-7673913"
                id="comment-permalink-7673913"                ><span>Permalink</span></a></li>
            </ul>
                            <ul id="comment-actions-primary">
                                                          <li class="first action-reply-comment">
            <a  href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673913&pageId=6950452  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673913&pageId=6950452%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673913&pageId=6950452"
                id="reply-comment-7673913"                ><span>Reply</span></a></li>
            </ul>
                    </div>
                </div>
            </div>

            <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
         <rdf:Description
    rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673913#comment-7673913"
    dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673913#comment-7673913"
    dc:title="Maturity-zh"
    trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/7673913"/>
</rdf:RDF>
-->

                    
                                </li>
                        <li id="comment-thread-7673915" class="comment-thread">
                    <div class="comment  focused  " id="comment-7673915">
                <p class="comment-user-logo">
                    <img class="userLogo logo anonymous" src="anonymous.png" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/profilepics/anonymous.png"
            alt="User icon: Anonymous" title="Anonymous">                </p>
                <p class="date" title="八月 31, 2012 01:16">
                    八月 31, 2012
                </p>
                <div class="comment-header">
                    <h4 class="author">Anonymous</h4>
                </div>
                <div class="comment-body">
                    <div class="comment-content wiki-content">
                        <p>JqNi8y  &lt;a href="http://wfslfnmcsqau.com/"&gt;wfslfnmcsqau&lt;/a&gt;</p>
                    </div>
                    <div class="comment-actions">
                                                    <ul id="comment-actions-secondary">
                                                          <li class="first comment-permalink">
            <a title="Permanent link to this comment" href="Maturity-zh-focusedCommentId=7673915.htm#comment-7673915" tppabs="http://10.20.160.198/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673915#comment-7673915"
                id="comment-permalink-7673915"                ><span>Permalink</span></a></li>
            </ul>
                            <ul id="comment-actions-primary">
                                                          <li class="first action-reply-comment">
            <a  href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673915&pageId=6950452  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673915&pageId=6950452%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673915&pageId=6950452"
                id="reply-comment-7673915"                ><span>Reply</span></a></li>
            </ul>
                    </div>
                </div>
            </div>

            <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
         <rdf:Description
    rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673915#comment-7673915"
    dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673915#comment-7673915"
    dc:title="Maturity-zh"
    trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/7673915"/>
</rdf:RDF>
-->

                    
                                </li>
                        <li id="comment-thread-7673935" class="comment-thread">
                    <div class="comment  " id="comment-7673935">
                <p class="comment-user-logo">
                    <img class="userLogo logo anonymous" src="anonymous.png" tppabs="http://10.20.160.198/wiki/s/en/2166/34/_/images/icons/profilepics/anonymous.png"
            alt="User icon: Anonymous" title="Anonymous">                </p>
                <p class="date" title="九月 01, 2012 04:27">
                    九月 01, 2012
                </p>
                <div class="comment-header">
                    <h4 class="author">Anonymous</h4>
                </div>
                <div class="comment-body">
                    <div class="comment-content wiki-content">
                        <p>EMqe3D , <span class="error">&#91;url=http://zvkjsucrgvgm.com/&#93;</span>zvkjsucrgvgm<span class="error">&#91;/url&#93;</span>, <span class="error">&#91;link=http://uyifcpewawde.com/&#93;</span>uyifcpewawde<span class="error">&#91;/link&#93;</span>, <a href="javascript:if(confirm(%27http://hhmmsyvzxwdt.com/  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://hhmmsyvzxwdt.com/%27" tppabs="http://hhmmsyvzxwdt.com/" class="external-link" rel="nofollow">http://hhmmsyvzxwdt.com/</a></p>
                    </div>
                    <div class="comment-actions">
                                                    <ul id="comment-actions-secondary">
                                                          <li class="first comment-permalink">
            <a title="Permanent link to this comment" href="Maturity-zh-focusedCommentId=7673935.htm#comment-7673935" tppabs="http://10.20.160.198/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673935#comment-7673935"
                id="comment-permalink-7673935"                ><span>Permalink</span></a></li>
            </ul>
                            <ul id="comment-actions-primary">
                                                          <li class="first action-reply-comment">
            <a  href="javascript:if(confirm(%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673935&pageId=6950452  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673935&pageId=6950452%27" tppabs="http://10.20.160.198/wiki/pages/replycomment.action?commentId=7673935&pageId=6950452"
                id="reply-comment-7673935"                ><span>Reply</span></a></li>
            </ul>
                    </div>
                </div>
            </div>

            <!--
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
         <rdf:Description
    rdf:about="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673935#comment-7673935"
    dc:identifier="http://code.alibabatech.com/wiki/display/dubbo/Maturity-zh?focusedCommentId=7673935#comment-7673935"
    dc:title="Maturity-zh"
    trackback:ping="http://code.alibabatech.com/wiki/rpc/trackback/7673935"/>
</rdf:RDF>
-->

                    
                                </li>
                </ol>
    
                                        <a id="add-comment-bottom" href="Maturity-zh-showComments=true&showCommentArea=true.htm#addcomment" tppabs="http://10.20.160.198/wiki/display/dubbo/Maturity-zh?showComments=true&showCommentArea=true#addcomment">
                    Add Comment
                </a>
                        </div>


            
</div>


    



    
    

    
    
    


<script type="text/x-template" title="manage-watchers-dialog">
<div class="dialog-content">
    <div class="column page-watchers">
        <h3>Watching this page</h3>
        <p class="description">These people are notified when the page is changed. You can add or remove people from this list.</p>
        <form action="/wiki/json/addwatch.action" method="POST">
                <input type="hidden" name="atl_token" value="c116db80711201b36e2067aa83f3b044c2d5a30e">
            <input type="hidden" name="pageId" value="6950452"/>
            <input type="hidden" id="add-watcher-username" name="username" value=""/>
            <label for="add-watcher-user">User</label>
            <input id="add-watcher-user" name="userFullName" type="search" class="autocomplete-user"
               value="" placeholder="Full name or username" autocomplete="off"
               data-max="10" data-target="#add-watcher-username" data-dropdown-target="#add-watcher-dropdown"
               data-template="{title}" data-none-message="No matching users found.">
            <input id="add-watcher-submit" type="submit" name="add" value="Add">
            <div id="add-watcher-dropdown" class="aui-dd-parent autocomplete"></div>
            <div class="status hidden"></div>
        </form>
        <ul class="user-list">
            <li class="loading">Loading&hellip;</li>
            <li class="no-users hidden">No page watchers</li>
        </ul>
    </div>
    <div class="column space-watchers">
        <h3>Watching this space</h3>
        <p class="description">These people are notified when any content in the space is changed. You cannot modify this list.</p>
        <ul class="user-list">
            <li class="loading">Loading&hellip;</li>
            <li class="no-users hidden">No space watchers</li>
        </ul>
    </div>
</div>
</script>
<script type="text/x-template" title="manage-watchers-user">
    <li class="watch-user">
        <img class="profile-picture confluence-userlink" src="{iconUrl}" data-username="{username}">
        <a class="confluence-userlink" href="{url}" data-username="{username}">{fullName} <span class="username">({username})</span></a>
        <span class="remove-watch" title="Remove"
            data-username="{username}">Remove</span>
    </li>
</script>
<script type="text/x-template" title="manage-watchers-help-link">
    <div class="dialog-help-link">
            <a href="http://docs.atlassian.com/confluence/docs-35/Managing+Watchers" target="_blank">Help</a>
    </div>
</script>

    <br class="clear">
</div><!-- \#main -->

<div id="footer">
                                                <p class="license license-opensource">
                  Powered by a free <b>Atlassian Confluence Open Source Project License</b> granted to Alibaba Tech. <a href="javascript:if(confirm(%27http://www.atlassian.com/c/conf/11461  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://www.atlassian.com/c/conf/11461%27" tppabs="http://www.atlassian.com/c/conf/11461">Evaluate Confluence today</a>.<br>
                </p>
                        
    <ul id="poweredby">
        <li class="noprint">Powered by <a href="javascript:if(confirm(%27http://www.atlassian.com/software/confluence  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://www.atlassian.com/software/confluence%27" tppabs="http://www.atlassian.com/software/confluence" class="hover-footer-link">Atlassian Confluence</a> 3.5.9, the <a href="javascript:if(confirm(%27http://www.atlassian.com/software/confluence/tour/enterprise-wiki.jsp  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://www.atlassian.com/software/confluence/tour/enterprise-wiki.jsp%27" tppabs="http://www.atlassian.com/software/confluence/tour/enterprise-wiki.jsp" class="hover-footer-link">Enterprise Wiki</a></li>
        <li class="print-only">Printed by Atlassian Confluence 3.5.9, the Enterprise Wiki.</li>        
        <li class="noprint"> &nbsp; |&nbsp; <a href="javascript:if(confirm(%27http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470%27" tppabs="http://jira.atlassian.com/secure/BrowseProject.jspa?id=10470" class="hover-footer-link">Report a bug</a></li>
        <li class="noprint"> &nbsp;|&nbsp; <a href="javascript:if(confirm(%27http://www.atlassian.com/about/connected.jsp?s_kwcid=Confluence-stayintouch  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://www.atlassian.com/about/connected.jsp?s_kwcid=Confluence-stayintouch%27" tppabs="http://www.atlassian.com/about/connected.jsp?s_kwcid=Confluence-stayintouch" class="hover-footer-link">Atlassian News</a></li>
    </ul>

    

            友情链接:<a href="javascript:if(confirm(%27http://code.taobao.org/  \n\nThis file was not retrieved by Teleport Ultra, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?%27))window.location=%27http://code.taobao.org/%27" tppabs="http://code.taobao.org/">Taocode</a>
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-31474478-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www/') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
    </div></div><!-- \#full-height-container -->
</div><!-- \#page -->
</body>
</html>
